package com.qili.mapper.it;

import com.qili.base.mapper.BaseMapper;
import com.qili.entity.supervisor.SupervisorFile;
import org.apache.ibatis.annotations.Param;
import java.util.List;
import java.util.Map;

/**
 * @author liuyang
 * @date 2021/3/18
 * @description
 */
public interface ItFileMapper extends BaseMapper<SupervisorFile,String> {

    /**
     * 查询相关文件
     * @param map
     * @return
     */
    List<SupervisorFile> selectRelated(Map map);

    /**
     * 查询回收站
     * @param map
     * @return
     */
    List<SupervisorFile> selectDelete(Map map);

    /**
     * 根据id查询文件详情
     * @param file
     * @return
     */
    SupervisorFile selParticulars(SupervisorFile file);

    List<SupervisorFile> selectStatisticsIT(Map map);

    /**
     * 知识库统计树形下拉数据查询
     * @param file
     * @return
     */
    List<SupervisorFile> selectFile(SupervisorFile file);

    /**
     * 只更新 PathKey
     * @param id
     * @param pathKey
     */
    void updatePathKeyById(@Param("id") String id,@Param("pathKey") String pathKey);

    /**
     * 查询当前目录下的所有文件
     * @param id
     * @return
     */
    int getZskfileType2Or1(@Param("id") String id,@Param("type") String type);

    /**
     * 根据父级id查询
     * @param parentId
     * @return
     */
    List<SupervisorFile> selectChildsByParentId(String parentId);

    /**
     * 是否存在子节点
     * @param id
     * @param type
     * @return
     */
    Integer isChilds(@Param("id") String id,@Param("type") String type);

    /**
     * 获取拼接后的id
     * @param parentId
     * @param type
     * @return
     */
    String selectIdPj(@Param("parentId") String parentId,@Param("type") String type);

    /**
     * 获取数量
     * @param ids
     * @return
     */
    List<Map<String,String>> getNumByIds(@Param("ids") String ids);

    /**
     * 是否存在子节点
     * @param ids
     * @param type
     * @return
     */
    List<Map<String, String>> isChildsByids(@Param("ids") String ids,@Param("type") String type);

    /**
     * 根据ids查询是否存在子节点
     * @param ids
     * @return
     */
    List<Map<String, String>> isChildsFlag(@Param("ids") String ids);

    /**
     * 根据id查询所有子级数据
     * @param id
     * @param type
     * @return
     */
    List<SupervisorFile> selectFilesByParentId(@Param("id") String id, @Param("type") String type);
}
